﻿using System;
using Microsoft.Office.OneNote.Interop;

namespace Microsoft.Office.OneNote
{
    [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
    internal sealed class OneNoteHierarchyTypeAttribute : Attribute
    {
        private readonly CreateHierarchyType _type;

        public OneNoteHierarchyTypeAttribute(CreateHierarchyType type)
        {
            _type = type;
        }

        public CreateHierarchyType HierarchyType
        {
            get { return _type; }
        }
    }

    [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
    internal sealed class OneNoteXmlElementAttribute : Attribute
    {
        private readonly string _localName;

        public OneNoteXmlElementAttribute(string localName)
        {
            _localName = localName;
        }

        public string LocalName
        {
            get { return _localName; }
        }
    }

    [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)]
    internal sealed class OneNoteObjectIdAttribute : Attribute
    {
        private readonly string _attributeName;

        public OneNoteObjectIdAttribute(string attributeName)
        {
            _attributeName = attributeName;
        }

        public string AttributeName
        {
            get { return _attributeName; }
        }
    }
}
